<?php

require_once 'resource/db.inc.php';
require_once 'resource/crud.inc.php';

function opCreateMov(&$errores, &$exitos) {
    $descripcion = isset($_POST['descripcion']) ? filter_var($_POST['descripcion'], FILTER_SANITIZE_STRING) : '';
    $fecha = isset($_POST['fecha']) ? filter_var($_POST['fecha'], FILTER_SANITIZE_STRING) : '';
    $cantidad = isset($_POST['cantidad']) ? filter_var($_POST['cantidad'], FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION) : '';
    
    if (empty($descripcion) || !$descripcion) {
        $errores[] = "No se ha proporcionado correctamente la descripci&oacute;n del movimiento";
    }
    if (empty($fecha) || !$fecha) {
        $errores[] = "No se ha proporcionado correctamente la fecha del movimiento";
    }

    if (empty($cantidad) || !$cantidad || $cantidad < 0) {
        $errores[] = "No se ha proporcionado correctamente la cantidad del movimiento";
    }
    
    if (empty($errores)) {
        addMovimiento($_SESSION['gim_id'], $descripcion, $fecha, $cantidad);
        $exitos[] = "Movimiento registrado satisfactoriamente";
    }
}

function opListMovs(&$nreg, $regsxpag, &$pagina) {

    $pagina = (isset($_GET['page']) && ctype_digit($_GET['page']) && $_GET['page'] > 0 ) ? $_GET['page'] : 1;
    $registro = ($pagina > 0) ? ($pagina - 1) * $regsxpag : 0;

    if($_SESSION['user_nivel'] == 1){
    $nreg = getNumMovimientos();
    $movimientos = getMovimientosLimit($registro, $regsxpag);
    }elseif($_SESSION['user_nivel'] == 2){
    $nreg = getNumMovimientosManager($_SESSION['gim_id']);
    $movimientos = getMovimientosManagerLimit($_SESSION['gim_id'], $registro, $regsxpag);
    }
    return $movimientos;
}

function opDeleteMov(&$errores, &$exitos) {
    $gim_id = isset($_GET['gim_id']) ? filter_var($_GET['gim_id'], FILTER_SANITIZE_STRING) : '';
    $mov_id = isset($_GET['mov_id']) ? filter_var($_GET['mov_id'], FILTER_SANITIZE_NUMBER_INT) : '';
    if (empty($gim_id) || !$gim_id) {
        $errores[] = "No se ha proporcionado correctamente el identificador del gimnasio";
    }
    if (empty($mov_id) || !$mov_id) {
        $errores[] = "No se ha proporcionado correctamente el identificador del movimiento";
    }
    if (empty($errores)) {
        deleteMovimiento($mov_id, $gim_id);
        $exitos[] = "Movimiento eliminado satisfactoriamente";
    }
}

function opModifyMov(&$errores, &$exitos) {
    $mov_id = isset($_GET['mov_id']) ? filter_var($_GET['mov_id'], FILTER_SANITIZE_NUMBER_INT) : '';
    $descripcion = isset($_POST['descripcion']) ? filter_var($_POST['descripcion'], FILTER_SANITIZE_STRING) : '';
    $fecha = isset($_POST['fecha']) ? filter_var($_POST['fecha'], FILTER_SANITIZE_STRING) : '';
    $cantidad = isset($_POST['cantidad']) ? filter_var($_POST['cantidad'], FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION) : '';
    
    if (empty($mov_id) || !$mov_id) {
        $errores[] = "No se ha proporcionado correctamente el identificador del movimiento";
    }

    if (empty($descripcion) || !$descripcion) {
        $errores[] = "No se ha proporcionado correctamente la descripci&oacute;n del movimiento";
    }

    if (empty($cantidad) || !$cantidad) {
        $errores[] = "No se ha proporcionado correctamente la cantidad del movimiento";
    }
    
    if (empty($errores)) {
        updateMovimiento($mov_id, $_SESSION['gim_id'], $descripcion, $fecha, $cantidad);
        $exitos[] = "Movimiento actualizado satisfactoriamente";
    }
}
?>



